Model-based Kernel Testing for Concurrency Bugs through Counter Example Replay
نویسندگان
چکیده
Despite the growing need for customized operating system kernels for embedded devices, kernel development continues to suffer from high development and testing costs for several reasons, including the high complexity of the kernel code, the infeasibility of unit testing, exponential numbers of concurrent behaviors, and a lack of proper tool support. To alleviate these difficulties, this study proposes the MOdel-based KERnel Testing (MOKERT) framework, which supports detection of concurrency bugs in the kernel by combining both model checking techniques and testing methods. The MOKERT framework was applied to the file systems of the Linux 2.6 kernel and found a data race bug in the proc file system.
منابع مشابه
Effective testing for concurrency bugs
In the current multi-core era, concurrency bugs are a serious threat to software reliability. As hardware becomes more parallel, concurrent programming will become increasingly pervasive. However, correct concurrent programming is known to be extremely challenging for developers and can easily lead to the introduction of concurrency bugs. This dissertation addresses this challenge by proposing ...
متن کاملSKI: Exposing Kernel Concurrency Bugs through Systematic Schedule Exploration
Kernel concurrency bugs are notoriously difficult to find during testing since they are only triggered under certain instruction interleavings. Unfortunately, no tools for systematically subjecting kernel code to concurrency tests have been proposed to date. This gap in tool support may be explained by the challenge of controlling precisely which kernel interleavings are executed without modify...
متن کاملRADBench: A Concurrency Bug Benchmark Suite
Testing and debugging tools for concurrent programs are often validated on known bugs. To aid the development of these tools, we present the Race, Atomicity, and Deadlock Benchmark (RADBench) suite. The RADBench suite contains the full source of 10 real concurrency bugs found in large open-source software projects including Mozilla SpiderMonkey, Mozilla NSPR, Memcached, Apache Web Server, and G...
متن کاملLEAP: The Lightweight Deterministic Multi-processor Replay of Concurrent Java Programs
The technique of deterministic record and replay aims at faithfully reenacting an earlier program execution. For concurrent programs, it is one of the most important techniques for program understanding and debugging. The state of the art deterministic replay techniques face challenging efficiency problems in supporting multi-processor executions due to the unoptimized treatment of shared memor...
متن کاملProperty-Driven Cooperative Logging for Concurrency Bugs Replication
This paper presents property-driven partial logging, a novel information partition scheme that takes into account load balancing and shared variable properties to optimize the replay of Java concurrency bugs through partial log combination. Preliminary evaluation with standard benchmarks and a real-world application provides initial evidence of the feasibility of our approach.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 253 شماره
صفحات -
تاریخ انتشار 2009